\doxysection{SEGGER.\+h}
\hypertarget{_s_e_g_g_e_r_8h_source}{}\label{_s_e_g_g_e_r_8h_source}\index{C:/Users/ASUS/Desktop/dm-\/ctrlH7-\/balance-\/9025test/Middlewares/Third\_Party/SEGGER/SEGGER/SEGGER.h@{C:/Users/ASUS/Desktop/dm-\/ctrlH7-\/balance-\/9025test/Middlewares/Third\_Party/SEGGER/SEGGER/SEGGER.h}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*********************************************************************}}
\DoxyCodeLine{00002\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SEGGER\ Microcontroller\ GmbH\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00003\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ The\ Embedded\ Experts\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00004\ \textcolor{comment}{**********************************************************************}}
\DoxyCodeLine{00005\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00006\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ (c)\ 1995\ -\/\ 2019\ SEGGER\ Microcontroller\ GmbH\ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00007\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00008\ \textcolor{comment}{*\ \ \ \ \ \ \ www.segger.com\ \ \ \ \ Support:\ support@segger.com\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00009\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00010\ \textcolor{comment}{**********************************************************************}}
\DoxyCodeLine{00011\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00012\ \textcolor{comment}{*\ \ \ \ \ \ \ SEGGER\ SystemView\ *\ Real-\/time\ application\ analysis\ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00013\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00014\ \textcolor{comment}{**********************************************************************}}
\DoxyCodeLine{00015\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00016\ \textcolor{comment}{*\ All\ rights\ reserved.\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00017\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00018\ \textcolor{comment}{*\ SEGGER\ strongly\ recommends\ to\ not\ make\ any\ changes\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00019\ \textcolor{comment}{*\ to\ or\ modify\ the\ source\ code\ of\ this\ software\ in\ order\ to\ stay\ \ \ \ \ *}}
\DoxyCodeLine{00020\ \textcolor{comment}{*\ compatible\ with\ the\ SystemView\ and\ RTT\ protocol,\ and\ J-\/Link.\ \ \ \ \ \ \ *}}
\DoxyCodeLine{00021\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00022\ \textcolor{comment}{*\ Redistribution\ and\ use\ in\ source\ and\ binary\ forms,\ with\ or\ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00023\ \textcolor{comment}{*\ without\ modification,\ are\ permitted\ provided\ that\ the\ following\ \ \ \ *}}
\DoxyCodeLine{00024\ \textcolor{comment}{*\ condition\ is\ met:\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00025\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00026\ \textcolor{comment}{*\ o\ Redistributions\ of\ source\ code\ must\ retain\ the\ above\ copyright\ \ \ *}}
\DoxyCodeLine{00027\ \textcolor{comment}{*\ \ \ notice,\ this\ condition\ and\ the\ following\ disclaimer.\ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00028\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00029\ \textcolor{comment}{*\ THIS\ SOFTWARE\ IS\ PROVIDED\ BY\ THE\ COPYRIGHT\ HOLDERS\ AND\ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00030\ \textcolor{comment}{*\ CONTRIBUTORS\ "{}AS\ IS"{}\ AND\ ANY\ EXPRESS\ OR\ IMPLIED\ WARRANTIES,\ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00031\ \textcolor{comment}{*\ INCLUDING,\ BUT\ NOT\ LIMITED\ TO,\ THE\ IMPLIED\ WARRANTIES\ OF\ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00032\ \textcolor{comment}{*\ MERCHANTABILITY\ AND\ FITNESS\ FOR\ A\ PARTICULAR\ PURPOSE\ ARE\ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00033\ \textcolor{comment}{*\ DISCLAIMED.\ IN\ NO\ EVENT\ SHALL\ SEGGER\ Microcontroller\ BE\ LIABLE\ FOR\ *}}
\DoxyCodeLine{00034\ \textcolor{comment}{*\ ANY\ DIRECT,\ INDIRECT,\ INCIDENTAL,\ SPECIAL,\ EXEMPLARY,\ OR\ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00035\ \textcolor{comment}{*\ CONSEQUENTIAL\ DAMAGES\ (INCLUDING,\ BUT\ NOT\ LIMITED\ TO,\ PROCUREMENT\ \ *}}
\DoxyCodeLine{00036\ \textcolor{comment}{*\ OF\ SUBSTITUTE\ GOODS\ OR\ SERVICES;\ LOSS\ OF\ USE,\ DATA,\ OR\ PROFITS;\ \ \ \ *}}
\DoxyCodeLine{00037\ \textcolor{comment}{*\ OR\ BUSINESS\ INTERRUPTION)\ HOWEVER\ CAUSED\ AND\ ON\ ANY\ THEORY\ OF\ \ \ \ \ \ *}}
\DoxyCodeLine{00038\ \textcolor{comment}{*\ LIABILITY,\ WHETHER\ IN\ CONTRACT,\ STRICT\ LIABILITY,\ OR\ TORT\ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00039\ \textcolor{comment}{*\ (INCLUDING\ NEGLIGENCE\ OR\ OTHERWISE)\ ARISING\ IN\ ANY\ WAY\ OUT\ OF\ THE\ \ *}}
\DoxyCodeLine{00040\ \textcolor{comment}{*\ USE\ OF\ THIS\ SOFTWARE,\ EVEN\ IF\ ADVISED\ OF\ THE\ POSSIBILITY\ OF\ SUCH\ \ \ *}}
\DoxyCodeLine{00041\ \textcolor{comment}{*\ DAMAGE.\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00042\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00043\ \textcolor{comment}{**********************************************************************}}
\DoxyCodeLine{00044\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00045\ \textcolor{comment}{*\ \ \ \ \ \ \ SystemView\ version:\ V3.12\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00046\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
\DoxyCodeLine{00047\ \textcolor{comment}{**********************************************************************}}
\DoxyCodeLine{00048\ \textcolor{comment}{-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{00049\ \textcolor{comment}{File\ \ \ \ :\ SEGGER.h}}
\DoxyCodeLine{00050\ \textcolor{comment}{Purpose\ :\ Global\ types\ etc\ \&\ general\ purpose\ utility\ functions}}
\DoxyCodeLine{00051\ \textcolor{comment}{Revision:\ \$Rev:\ 18102\ \$}}
\DoxyCodeLine{00052\ \textcolor{comment}{-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/END-\/OF-\/HEADER-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{00053\ \textcolor{comment}{*/}}
\DoxyCodeLine{00054\ }
\DoxyCodeLine{00055\ \textcolor{preprocessor}{\#ifndef\ SEGGER\_H\ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ Guard\ against\ multiple\ inclusion}}
\DoxyCodeLine{00056\ \textcolor{preprocessor}{\#define\ SEGGER\_H}}
\DoxyCodeLine{00057\ }
\DoxyCodeLine{00058\ \textcolor{preprocessor}{\#include\ <stdarg.h>}\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ For\ va\_list.}}
\DoxyCodeLine{00059\ \textcolor{preprocessor}{\#include\ "{}Global.h"{}}\ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Type\ definitions:\ U8,\ U16,\ U32,\ I8,\ I16,\ I32}}
\DoxyCodeLine{00060\ }
\DoxyCodeLine{00061\ \textcolor{preprocessor}{\#if\ defined(\_\_cplusplus)}}
\DoxyCodeLine{00062\ \textcolor{keyword}{extern}\ \textcolor{stringliteral}{"{}C"{}}\ \{\ \ \ \ \ \textcolor{comment}{/*\ Make\ sure\ we\ have\ C-\/declarations\ in\ C++\ programs\ */}}
\DoxyCodeLine{00063\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00064\ }
\DoxyCodeLine{00065\ \textcolor{comment}{/*********************************************************************}}
\DoxyCodeLine{00066\ \textcolor{comment}{*}}
\DoxyCodeLine{00067\ \textcolor{comment}{*\ \ \ \ \ \ \ Keywords/specifiers}}
\DoxyCodeLine{00068\ \textcolor{comment}{*}}
\DoxyCodeLine{00069\ \textcolor{comment}{**********************************************************************}}
\DoxyCodeLine{00070\ \textcolor{comment}{*/}}
\DoxyCodeLine{00071\ }
\DoxyCodeLine{00072\ \textcolor{preprocessor}{\#ifndef\ INLINE}}
\DoxyCodeLine{00073\ \textcolor{preprocessor}{\ \ \#if\ (defined(\_\_ICCARM\_\_)\ ||\ defined(\_\_RX)\ ||\ defined(\_\_ICCRX\_\_))}}
\DoxyCodeLine{00074\ \ \ \ \ \textcolor{comment}{//}}
\DoxyCodeLine{00075\ \ \ \ \ \textcolor{comment}{//\ Other\ known\ compilers.}}
\DoxyCodeLine{00076\ \ \ \ \ \textcolor{comment}{//}}
\DoxyCodeLine{00077\ \textcolor{preprocessor}{\ \ \ \ \#define\ INLINE\ \ inline}}
\DoxyCodeLine{00078\ \textcolor{preprocessor}{\ \ \#else}}
\DoxyCodeLine{00079\ \textcolor{preprocessor}{\ \ \ \ \#if\ (defined(\_WIN32)\ \&\&\ !defined(\_\_clang\_\_))}}
\DoxyCodeLine{00080\ \ \ \ \ \ \ \textcolor{comment}{//}}
\DoxyCodeLine{00081\ \ \ \ \ \ \ \textcolor{comment}{//\ Microsoft\ VC6\ and\ newer.}}
\DoxyCodeLine{00082\ \ \ \ \ \ \ \textcolor{comment}{//\ Force\ inlining\ without\ cost\ checking.}}
\DoxyCodeLine{00083\ \ \ \ \ \ \ \textcolor{comment}{//}}
\DoxyCodeLine{00084\ \textcolor{preprocessor}{\ \ \ \ \ \ \#define\ INLINE\ \ \_\_forceinline}}
\DoxyCodeLine{00085\ \textcolor{preprocessor}{\ \ \ \ \#elif\ defined(\_\_GNUC\_\_)\ ||\ defined(\_\_clang\_\_)}}
\DoxyCodeLine{00086\ \ \ \ \ \ \ \textcolor{comment}{//}}
\DoxyCodeLine{00087\ \ \ \ \ \ \ \textcolor{comment}{//\ Force\ inlining\ with\ GCC\ +\ clang}}
\DoxyCodeLine{00088\ \ \ \ \ \ \ \textcolor{comment}{//}}
\DoxyCodeLine{00089\ \textcolor{preprocessor}{\ \ \ \ \ \ \#define\ INLINE\ inline\ \_\_attribute\_\_((always\_inline))}}
\DoxyCodeLine{00090\ \textcolor{preprocessor}{\ \ \ \ \#elif\ (defined(\_\_CC\_ARM))}}
\DoxyCodeLine{00091\ \ \ \ \ \ \ \textcolor{comment}{//}}
\DoxyCodeLine{00092\ \ \ \ \ \ \ \textcolor{comment}{//\ Force\ inlining\ with\ ARMCC\ (Keil)}}
\DoxyCodeLine{00093\ \ \ \ \ \ \ \textcolor{comment}{//}}
\DoxyCodeLine{00094\ \textcolor{preprocessor}{\ \ \ \ \ \ \#define\ INLINE\ \ \_\_inline}}
\DoxyCodeLine{00095\ \textcolor{preprocessor}{\ \ \ \ \#else}}
\DoxyCodeLine{00096\ \ \ \ \ \ \ \textcolor{comment}{//}}
\DoxyCodeLine{00097\ \ \ \ \ \ \ \textcolor{comment}{//\ Unknown\ compilers.}}
\DoxyCodeLine{00098\ \ \ \ \ \ \ \textcolor{comment}{//}}
\DoxyCodeLine{00099\ \textcolor{preprocessor}{\ \ \ \ \ \ \#define\ INLINE}}
\DoxyCodeLine{00100\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
\DoxyCodeLine{00101\ \textcolor{preprocessor}{\ \ \#endif}}
\DoxyCodeLine{00102\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00103\ }
\DoxyCodeLine{00104\ \textcolor{comment}{/*********************************************************************}}
\DoxyCodeLine{00105\ \textcolor{comment}{*}}
\DoxyCodeLine{00106\ \textcolor{comment}{*\ \ \ \ \ \ \ Function-\/like\ macros}}
\DoxyCodeLine{00107\ \textcolor{comment}{*}}
\DoxyCodeLine{00108\ \textcolor{comment}{**********************************************************************}}
\DoxyCodeLine{00109\ \textcolor{comment}{*/}}
\DoxyCodeLine{00110\ }
\DoxyCodeLine{00111\ \textcolor{preprocessor}{\#define\ SEGGER\_COUNTOF(a)\ \ \ \ \ \ \ \ \ \ (sizeof((a))/sizeof((a)[0]))}}
\DoxyCodeLine{00112\ \textcolor{preprocessor}{\#define\ SEGGER\_MIN(a,b)\ \ \ \ \ \ \ \ \ \ \ \ (((a)\ <\ (b))\ ?\ (a)\ :\ (b))}}
\DoxyCodeLine{00113\ \textcolor{preprocessor}{\#define\ SEGGER\_MAX(a,b)\ \ \ \ \ \ \ \ \ \ \ \ (((a)\ >\ (b))\ ?\ (a)\ :\ (b))}}
\DoxyCodeLine{00114\ }
\DoxyCodeLine{00115\ \textcolor{preprocessor}{\#ifndef\ \ \ SEGGER\_USE\_PARA\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ Some\ compiler\ complain\ about\ unused\ parameters.}}
\DoxyCodeLine{00116\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_USE\_PARA(Para)\ (void)Para\ \ }\textcolor{comment}{//\ This\ works\ for\ most\ compilers.}}
\DoxyCodeLine{00117\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00118\ }
\DoxyCodeLine{00119\ \textcolor{preprocessor}{\#define\ SEGGER\_ADDR2PTR(Type,\ Addr)\ \ (}\textcolor{comment}{/*lint\ -\/e(923)\ -\/e(9078)*/}\textcolor{preprocessor}{((Type*)((PTR\_ADDR)(Addr))))\ \ \ \ }\textcolor{comment}{//\ Allow\ cast\ from\ address\ to\ pointer.}}
\DoxyCodeLine{00120\ \textcolor{preprocessor}{\#define\ SEGGER\_PTR2ADDR(p)\ \ \ \ \ \ \ \ \ \ \ (}\textcolor{comment}{/*lint\ -\/e(923)\ -\/e(9078)*/}\textcolor{preprocessor}{((PTR\_ADDR)(p)))\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ Allow\ cast\ from\ pointer\ to\ address.}}
\DoxyCodeLine{00121\ \textcolor{preprocessor}{\#define\ SEGGER\_PTR2PTR(Type,\ p)\ \ \ \ \ \ (}\textcolor{comment}{/*lint\ -\/e(740)\ -\/e(826)\ -\/e(9079)\ -\/e(9087)*/}\textcolor{preprocessor}{((Type*)(p)))\ \ }\textcolor{comment}{//\ Allow\ cast\ from\ one\ pointer\ type\ to\ another\ (ignore\ different\ size).}}
\DoxyCodeLine{00122\ \textcolor{preprocessor}{\#define\ SEGGER\_PTR\_DISTANCE(p0,\ p1)\ \ (SEGGER\_PTR2ADDR(p0)\ -\/\ SEGGER\_PTR2ADDR(p1))}}
\DoxyCodeLine{00123\ }
\DoxyCodeLine{00124\ \textcolor{comment}{/*********************************************************************}}
\DoxyCodeLine{00125\ \textcolor{comment}{*}}
\DoxyCodeLine{00126\ \textcolor{comment}{*\ \ \ \ \ \ \ Defines}}
\DoxyCodeLine{00127\ \textcolor{comment}{*}}
\DoxyCodeLine{00128\ \textcolor{comment}{**********************************************************************}}
\DoxyCodeLine{00129\ \textcolor{comment}{*/}}
\DoxyCodeLine{00130\ }
\DoxyCodeLine{00131\ \textcolor{preprocessor}{\#define\ SEGGER\_PRINTF\_FLAG\_ADJLEFT\ \ \ \ (1\ <<\ 0)}}
\DoxyCodeLine{00132\ \textcolor{preprocessor}{\#define\ SEGGER\_PRINTF\_FLAG\_SIGNFORCE\ \ (1\ <<\ 1)}}
\DoxyCodeLine{00133\ \textcolor{preprocessor}{\#define\ SEGGER\_PRINTF\_FLAG\_SIGNSPACE\ \ (1\ <<\ 2)}}
\DoxyCodeLine{00134\ \textcolor{preprocessor}{\#define\ SEGGER\_PRINTF\_FLAG\_PRECEED\ \ \ \ (1\ <<\ 3)}}
\DoxyCodeLine{00135\ \textcolor{preprocessor}{\#define\ SEGGER\_PRINTF\_FLAG\_ZEROPAD\ \ \ \ (1\ <<\ 4)}}
\DoxyCodeLine{00136\ \textcolor{preprocessor}{\#define\ SEGGER\_PRINTF\_FLAG\_NEGATIVE\ \ \ (1\ <<\ 5)}}
\DoxyCodeLine{00137\ }
\DoxyCodeLine{00138\ \textcolor{comment}{/*********************************************************************}}
\DoxyCodeLine{00139\ \textcolor{comment}{*}}
\DoxyCodeLine{00140\ \textcolor{comment}{*\ \ \ \ \ \ \ Types}}
\DoxyCodeLine{00141\ \textcolor{comment}{*}}
\DoxyCodeLine{00142\ \textcolor{comment}{**********************************************************************}}
\DoxyCodeLine{00143\ \textcolor{comment}{*/}}
\DoxyCodeLine{00144\ }
\DoxyCodeLine{00145\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{00146\ \ \ \textcolor{keywordtype}{char}*\ pBuffer;}
\DoxyCodeLine{00147\ \ \ \textcolor{keywordtype}{int}\ \ \ BufferSize;}
\DoxyCodeLine{00148\ \ \ \textcolor{keywordtype}{int}\ \ \ Cnt;}
\DoxyCodeLine{00149\ \}\ \mbox{\hyperlink{struct_s_e_g_g_e_r___b_u_f_f_e_r___d_e_s_c}{SEGGER\_BUFFER\_DESC}};}
\DoxyCodeLine{00150\ }
\DoxyCodeLine{00151\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{00152\ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ CacheLineSize;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ 0:\ No\ Cache.\ Most\ Systems\ such\ as\ ARM9\ use\ a\ 32\ bytes\ cache\ line\ size.}}
\DoxyCodeLine{00153\ \ \ void\ (*pfDMB)\ \ \ \ \ \ \ (void);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Optional\ DMB\ function\ for\ Data\ Memory\ Barrier\ to\ make\ sure\ all\ memory\ operations\ are\ completed.}}
\DoxyCodeLine{00154\ \ \ void\ (*pfClean)\ \ \ \ \ (\textcolor{keywordtype}{void}\ *p,\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{long}\ NumBytes);\ \ \textcolor{comment}{//\ Optional\ clean\ function\ for\ cached\ memory.}}
\DoxyCodeLine{00155\ \ \ void\ (*pfInvalidate)(\textcolor{keywordtype}{void}\ *p,\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{long}\ NumBytes);\ \ \textcolor{comment}{//\ Optional\ invalidate\ function\ for\ cached\ memory.}}
\DoxyCodeLine{00156\ \}\ \mbox{\hyperlink{struct_s_e_g_g_e_r___c_a_c_h_e___c_o_n_f_i_g}{SEGGER\_CACHE\_CONFIG}};}
\DoxyCodeLine{00157\ }
\DoxyCodeLine{00158\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{struct_s_e_g_g_e_r___s_n_p_r_i_n_t_f___c_o_n_t_e_x_t__struct}{SEGGER\_SNPRINTF\_CONTEXT\_struct}}\ SEGGER\_SNPRINTF\_CONTEXT;}
\DoxyCodeLine{00159\ }
\DoxyCodeLine{00160\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{struct_s_e_g_g_e_r___s_n_p_r_i_n_t_f___c_o_n_t_e_x_t__struct}{SEGGER\_SNPRINTF\_CONTEXT\_struct}}\ \{}
\DoxyCodeLine{00161\ \ \ \textcolor{keywordtype}{void}*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pContext;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Application\ specific\ context.}}
\DoxyCodeLine{00162\ \ \ \mbox{\hyperlink{struct_s_e_g_g_e_r___b_u_f_f_e_r___d_e_s_c}{SEGGER\_BUFFER\_DESC}}*\ pBufferDesc;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Buffer\ descriptor\ to\ use\ for\ output.}}
\DoxyCodeLine{00163\ \ \ void\ (*pfFlush)(SEGGER\_SNPRINTF\_CONTEXT*\ pContext);\ \textcolor{comment}{//\ Callback\ executed\ once\ the\ buffer\ is\ full.\ Callback\ decides\ if\ the\ buffer\ gets\ cleared\ to\ store\ more\ or\ not.}}
\DoxyCodeLine{00164\ \};}
\DoxyCodeLine{00165\ }
\DoxyCodeLine{00166\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{00167\ \ \ void\ (*pfStoreChar)\ \ \ \ \ \ \ (\mbox{\hyperlink{struct_s_e_g_g_e_r___b_u_f_f_e_r___d_e_s_c}{SEGGER\_BUFFER\_DESC}}*\ pBufferDesc,\ SEGGER\_SNPRINTF\_CONTEXT*\ pContext,\ \textcolor{keywordtype}{char}\ c);}
\DoxyCodeLine{00168\ \ \ int\ \ (*pfPrintUnsigned)\ \ \ (\mbox{\hyperlink{struct_s_e_g_g_e_r___b_u_f_f_e_r___d_e_s_c}{SEGGER\_BUFFER\_DESC}}*\ pBufferDesc,\ SEGGER\_SNPRINTF\_CONTEXT*\ pContext,\ U32\ v,\ \textcolor{keywordtype}{unsigned}\ Base,\ \textcolor{keywordtype}{char}\ Flags,\ \textcolor{keywordtype}{int}\ Width,\ \textcolor{keywordtype}{int}\ Precision);}
\DoxyCodeLine{00169\ \ \ int\ \ (*pfPrintInt)\ \ \ \ \ \ \ \ (\mbox{\hyperlink{struct_s_e_g_g_e_r___b_u_f_f_e_r___d_e_s_c}{SEGGER\_BUFFER\_DESC}}*\ pBufferDesc,\ SEGGER\_SNPRINTF\_CONTEXT*\ pContext,\ I32\ v,\ \textcolor{keywordtype}{unsigned}\ Base,\ \textcolor{keywordtype}{char}\ Flags,\ \textcolor{keywordtype}{int}\ Width,\ \textcolor{keywordtype}{int}\ Precision);}
\DoxyCodeLine{00170\ \}\ \mbox{\hyperlink{struct_s_e_g_g_e_r___p_r_i_n_t_f___a_p_i}{SEGGER\_PRINTF\_API}};}
\DoxyCodeLine{00171\ }
\DoxyCodeLine{00172\ \textcolor{keyword}{typedef}\ void\ (*SEGGER\_pFormatter)(\mbox{\hyperlink{struct_s_e_g_g_e_r___b_u_f_f_e_r___d_e_s_c}{SEGGER\_BUFFER\_DESC}}*\ pBufferDesc,\ SEGGER\_SNPRINTF\_CONTEXT*\ pContext,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{struct_s_e_g_g_e_r___p_r_i_n_t_f___a_p_i}{SEGGER\_PRINTF\_API}}*\ pApi,\ va\_list*\ pParamList,\ \textcolor{keywordtype}{char}\ Lead,\ \textcolor{keywordtype}{int}\ Width,\ \textcolor{keywordtype}{int}\ Precision);}
\DoxyCodeLine{00173\ }
\DoxyCodeLine{00174\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{struct_s_e_g_g_e_r___p_r_i_n_t_f___f_o_r_m_a_t_t_e_r}{SEGGER\_PRINTF\_FORMATTER}}\ \{}
\DoxyCodeLine{00175\ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{struct_s_e_g_g_e_r___p_r_i_n_t_f___f_o_r_m_a_t_t_e_r}{SEGGER\_PRINTF\_FORMATTER}}*\ pNext;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Pointer\ to\ next\ formatter.}}
\DoxyCodeLine{00176\ \ \ SEGGER\_pFormatter\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pfFormatter;\ \ \ \ \ \ \ \ \textcolor{comment}{//\ Formatter\ function.}}
\DoxyCodeLine{00177\ \ \ \textcolor{keywordtype}{char}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Specifier;\ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Format\ specifier.}}
\DoxyCodeLine{00178\ \}\ \mbox{\hyperlink{struct_s_e_g_g_e_r___p_r_i_n_t_f___f_o_r_m_a_t_t_e_r}{SEGGER\_PRINTF\_FORMATTER}};}
\DoxyCodeLine{00179\ }
\DoxyCodeLine{00180\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{00181\ \ \ U32\ (*pfGetHPTimestamp)(void);\ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Mandatory,\ pfGetHPTimestamp}}
\DoxyCodeLine{00182\ \ \ int\ (*pfGetUID)\ \ \ \ \ \ \ \ (U8\ abUID[16]);\ \ \textcolor{comment}{//\ Optional,\ \ pfGetUID}}
\DoxyCodeLine{00183\ \}\ \mbox{\hyperlink{struct_s_e_g_g_e_r___b_s_p___a_p_i}{SEGGER\_BSP\_API}};}
\DoxyCodeLine{00184\ }
\DoxyCodeLine{00185\ \textcolor{comment}{/*********************************************************************}}
\DoxyCodeLine{00186\ \textcolor{comment}{*}}
\DoxyCodeLine{00187\ \textcolor{comment}{*\ \ \ \ \ \ \ Utility\ functions}}
\DoxyCodeLine{00188\ \textcolor{comment}{*}}
\DoxyCodeLine{00189\ \textcolor{comment}{**********************************************************************}}
\DoxyCodeLine{00190\ \textcolor{comment}{*/}}
\DoxyCodeLine{00191\ }
\DoxyCodeLine{00192\ \textcolor{comment}{//}}
\DoxyCodeLine{00193\ \textcolor{comment}{//\ Memory\ operations.}}
\DoxyCodeLine{00194\ \textcolor{comment}{//}}
\DoxyCodeLine{00195\ \textcolor{keywordtype}{void}\ SEGGER\_ARM\_memcpy(\textcolor{keywordtype}{void}*\ pDest,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*\ pSrc,\ \textcolor{keywordtype}{int}\ NumBytes);}
\DoxyCodeLine{00196\ \textcolor{keywordtype}{void}\ SEGGER\_memcpy\ \ \ \ (\textcolor{keywordtype}{void}*\ pDest,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*\ pSrc,\ \textcolor{keywordtype}{unsigned}\ NumBytes);}
\DoxyCodeLine{00197\ \textcolor{keywordtype}{void}\ SEGGER\_memxor\ \ \ \ (\textcolor{keywordtype}{void}*\ pDest,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*\ pSrc,\ \textcolor{keywordtype}{unsigned}\ NumBytes);}
\DoxyCodeLine{00198\ }
\DoxyCodeLine{00199\ \textcolor{comment}{//}}
\DoxyCodeLine{00200\ \textcolor{comment}{//\ String\ functions.}}
\DoxyCodeLine{00201\ \textcolor{comment}{//}}
\DoxyCodeLine{00202\ \textcolor{keywordtype}{int}\ \ \ \ \ \ SEGGER\_atoi\ \ \ \ \ \ \ (\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ s);}
\DoxyCodeLine{00203\ \textcolor{keywordtype}{int}\ \ \ \ \ \ SEGGER\_isalnum\ \ \ \ (\textcolor{keywordtype}{int}\ c);}
\DoxyCodeLine{00204\ \textcolor{keywordtype}{int}\ \ \ \ \ \ SEGGER\_isalpha\ \ \ \ (\textcolor{keywordtype}{int}\ c);}
\DoxyCodeLine{00205\ \textcolor{keywordtype}{unsigned}\ SEGGER\_strlen\ \ \ \ \ (\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ s);}
\DoxyCodeLine{00206\ \textcolor{keywordtype}{int}\ \ \ \ \ \ SEGGER\_tolower\ \ \ \ (\textcolor{keywordtype}{int}\ c);}
\DoxyCodeLine{00207\ \textcolor{keywordtype}{int}\ \ \ \ \ \ SEGGER\_strcasecmp\ (\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ sText1,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ sText2);}
\DoxyCodeLine{00208\ \textcolor{keywordtype}{int}\ \ \ \ \ \ SEGGER\_strncasecmp(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *sText1,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *sText2,\ \textcolor{keywordtype}{unsigned}\ Count);}
\DoxyCodeLine{00209\ }
\DoxyCodeLine{00210\ \textcolor{comment}{//}}
\DoxyCodeLine{00211\ \textcolor{comment}{//\ Buffer/printf\ related.}}
\DoxyCodeLine{00212\ \textcolor{comment}{//}}
\DoxyCodeLine{00213\ \textcolor{keywordtype}{void}\ SEGGER\_StoreChar\ \ \ \ (\mbox{\hyperlink{struct_s_e_g_g_e_r___b_u_f_f_e_r___d_e_s_c}{SEGGER\_BUFFER\_DESC}}*\ pBufferDesc,\ \textcolor{keywordtype}{char}\ c);}
\DoxyCodeLine{00214\ \textcolor{keywordtype}{void}\ SEGGER\_PrintUnsigned(\mbox{\hyperlink{struct_s_e_g_g_e_r___b_u_f_f_e_r___d_e_s_c}{SEGGER\_BUFFER\_DESC}}*\ pBufferDesc,\ U32\ v,\ \textcolor{keywordtype}{unsigned}\ Base,\ \textcolor{keywordtype}{int}\ Precision);}
\DoxyCodeLine{00215\ \textcolor{keywordtype}{void}\ SEGGER\_PrintInt\ \ \ \ \ (\mbox{\hyperlink{struct_s_e_g_g_e_r___b_u_f_f_e_r___d_e_s_c}{SEGGER\_BUFFER\_DESC}}*\ pBufferDesc,\ I32\ v,\ \textcolor{keywordtype}{unsigned}\ Base,\ \textcolor{keywordtype}{int}\ Precision);}
\DoxyCodeLine{00216\ \textcolor{keywordtype}{int}\ \ SEGGER\_snprintf\ \ \ \ \ (\textcolor{keywordtype}{char}*\ pBuffer,\ \textcolor{keywordtype}{int}\ BufferSize,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ sFormat,\ ...);}
\DoxyCodeLine{00217\ \textcolor{keywordtype}{int}\ \ SEGGER\_vsnprintf\ \ \ \ (\textcolor{keywordtype}{char}*\ pBuffer,\ \textcolor{keywordtype}{int}\ BufferSize,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ sFormat,\ va\_list\ ParamList);}
\DoxyCodeLine{00218\ \textcolor{keywordtype}{int}\ \ SEGGER\_vsnprintfEx\ \ (SEGGER\_SNPRINTF\_CONTEXT*\ pContext,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ sFormat,\ va\_list\ ParamList);}
\DoxyCodeLine{00219\ }
\DoxyCodeLine{00220\ \textcolor{keywordtype}{int}\ \ SEGGER\_PRINTF\_AddFormatter\ \ \ \ \ \ \ (\mbox{\hyperlink{struct_s_e_g_g_e_r___p_r_i_n_t_f___f_o_r_m_a_t_t_e_r}{SEGGER\_PRINTF\_FORMATTER}}*\ pFormatter,\ SEGGER\_pFormatter\ pfFormatter,\ \textcolor{keywordtype}{char}\ c);}
\DoxyCodeLine{00221\ \textcolor{keywordtype}{void}\ SEGGER\_PRINTF\_AddDoubleFormatter\ (\textcolor{keywordtype}{void});}
\DoxyCodeLine{00222\ \textcolor{keywordtype}{void}\ SEGGER\_PRINTF\_AddIPFormatter\ \ \ \ \ (\textcolor{keywordtype}{void});}
\DoxyCodeLine{00223\ \textcolor{keywordtype}{void}\ SEGGER\_PRINTF\_AddBLUEFormatter\ \ \ (\textcolor{keywordtype}{void});}
\DoxyCodeLine{00224\ \textcolor{keywordtype}{void}\ SEGGER\_PRINTF\_AddCONNECTFormatter(\textcolor{keywordtype}{void});}
\DoxyCodeLine{00225\ \textcolor{keywordtype}{void}\ SEGGER\_PRINTF\_AddSSLFormatter\ \ \ \ (\textcolor{keywordtype}{void});}
\DoxyCodeLine{00226\ \textcolor{keywordtype}{void}\ SEGGER\_PRINTF\_AddSSHFormatter\ \ \ \ (\textcolor{keywordtype}{void});}
\DoxyCodeLine{00227\ \textcolor{keywordtype}{void}\ SEGGER\_PRINTF\_AddHTMLFormatter\ \ \ (\textcolor{keywordtype}{void});}
\DoxyCodeLine{00228\ }
\DoxyCodeLine{00229\ \textcolor{comment}{//}}
\DoxyCodeLine{00230\ \textcolor{comment}{//\ BSP\ abstraction\ API.}}
\DoxyCodeLine{00231\ \textcolor{comment}{//}}
\DoxyCodeLine{00232\ \textcolor{keywordtype}{int}\ \ SEGGER\_BSP\_GetUID\ \ (U8\ abUID[16]);}
\DoxyCodeLine{00233\ \textcolor{keywordtype}{int}\ \ SEGGER\_BSP\_GetUID32(U32*\ pUID);}
\DoxyCodeLine{00234\ \textcolor{keywordtype}{void}\ SEGGER\_BSP\_SetAPI\ \ (\textcolor{keyword}{const}\ \mbox{\hyperlink{struct_s_e_g_g_e_r___b_s_p___a_p_i}{SEGGER\_BSP\_API}}*\ pAPI);}
\DoxyCodeLine{00235\ \textcolor{keywordtype}{void}\ SEGGER\_BSP\_SeedUID\ (\textcolor{keywordtype}{void});}
\DoxyCodeLine{00236\ }
\DoxyCodeLine{00237\ \textcolor{comment}{//}}
\DoxyCodeLine{00238\ \textcolor{comment}{//\ Other\ API.}}
\DoxyCodeLine{00239\ \textcolor{comment}{//}}
\DoxyCodeLine{00240\ \textcolor{keywordtype}{void}\ SEGGER\_VERSION\_GetString(\textcolor{keywordtype}{char}\ acText[8],\ \textcolor{keywordtype}{unsigned}\ Version);}
\DoxyCodeLine{00241\ }
\DoxyCodeLine{00242\ \textcolor{preprocessor}{\#if\ defined(\_\_cplusplus)}}
\DoxyCodeLine{00243\ \}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ Make\ sure\ we\ have\ C-\/declarations\ in\ C++\ programs\ */}}
\DoxyCodeLine{00244\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00245\ }
\DoxyCodeLine{00246\ \textcolor{preprocessor}{\#endif\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ Avoid\ multiple\ inclusion}}
\DoxyCodeLine{00247\ }
\DoxyCodeLine{00248\ \textcolor{comment}{/***************************\ End\ of\ file\ ****************************/}}

\end{DoxyCode}
